1. Field of the Invention
The present invention relates generally to improvements in the operation of hard disc drives, and more particularly, but not by way of limitation, to an apparatus and method for adaptively compensating for variations in rotational speed of a hard disc drive spindle motor to reduce the effects of spindle motor manufacturing tolerances.
2. Brief Description of the Prior Art
Hard disc drives have become increasingly popular in recent times as long term storage devices for personal computers. Such drives include a plurality of rigid discs having magnetizable coatings to which data can be written by magnetizing successive data cells defined along concentric data tracks of the discs. Because of the rigidity of the discs, the further inclusion of a servo system which is capable of precise track following permits the data tracks to be very closely spaced so that a hard disc drive can store a very large amount of data in a very small volume.
With the advance of computer technology, an important characteristic of hard disc drives is "access time" of the drive, which is a measure of the typical time during which the disc drive is unavailable to carry out its functions of storing data supplied by the computer and retrieving data previously supplied by the computer for storage. Access time generally includes overhead, which is time required by the disc drive to service its own internal operations, seek time, which is time required for a read/write transducer head to seek to a desired data track, and latency, which is the time required for a particular sector on the desired data track to reach the transducer head as the disc is rotated under the transducer head. As will be recognized by those skilled in the art, efforts to reduce access time have included reductions in latency by increasing the operating rotational speed of the discs so that, once the transducer head has been moved to the appropriate data track, the time required for the particular sector to reach the transducer head is minimized.
Modern disc drives use brushless dc motors, or spindle motors, to rotate the discs at the desired operating rotational speed. These motors generally have a stationary stator containing a plurality of phases, each phase having one or more sets of electrical windings that are wrapped around poles within the stator with the sets of windings in each phase being electrically connected in series. Each phase is generally connected in parallel with the other phases so that all phases share a common center tap in a "Y" or a "star" configuration. The motors also have a rotatable rotor that contains a plurality of permanent magnet segments.
The discs are mechanically mounted to the rotor and rotated by the energizing of the windings within a phase in the stator to induce magnetic fields that interact with the permanent magnet segments in the rotor to cause the rotor, and the discs, to rotate in the desired direction at the desired operating speed. The selective energizing of phases in the stator in a predetermined sequence is known as commutation of the motor, which simply involves providing a series of timed commutation steps wherein energy is imparted to the motor to cause it to rotate. The time between each commutation step is called a commutation period, and the number of commutation periods within one mechanical revolution of the motor is a function of the number of phases and the total number of north and south poles in the motor magnet segments. For example, a three phase, twelve pole motor would have 36 commutation steps and 36 corresponding commutation periods in each mechanical revolution of the motor, with each commutation step occurring at a unique mechanical alignment of a winding and a pole, where a switch is made from one configuration or commutation step to the next.
As understood in the art, a commutation step involves supplying the motor with current to one phase, sinking current from another phase, and holding a third phase at a high impedance so that it remains unenergized. A commutation cycle is defined as a complete sequence of commutation steps such that every phase has in turn sourced current, sunk current, and remained unenergized. The proper sequencing and timing of commutation steps will cause the motor to rotate in the desired direction at the desired speed, and generally there will be a plurality of commutation cycles for each mechanical revolution of the motor. The sequencing and timing of commutation steps are supplied to the motor by commutation circuitry to cause the motor to rotate at the desired operating speed.
Typically, modern disc drives have a back emf sense circuit that measures the back emf generated on the unenergized phase held at high impedance, compares this voltage to the voltage on the center tap and generates a signal at a zero crossing of the voltages, that is, when the back emf voltage changes polarity with respect to the voltage on the center tap. The point at which the zero crossing occurred is then used as a reference for the generation of the timing of the next commutation pulse, as well as a reference to indicate the position and relative speed of the motor.
It will be recognized by those of skill in the art that slight variations exist in the operating speed of a spindle motor during operation, and that it becomes increasingly important to control and minimize these variations as the operating speed is increased to ensure proper alignment of the transducer head and the sector before data is stored or retrieved from a disc.
One significant source of variation in the operating speed of a disc comes from manufacturing tolerances within the spindle motor itself. These manufacturing tolerances may be due to variations in bearings and bearing surfaces, variations in field strength of permanent magnets in the spindle motor, variations in resistance and inductance in phase windings in the spindle motor and most importantly, the variation in the spacing of the magnetic poles and the slots between windings. These variations can significantly affect the timing of the zero crossings, which in turn will affect the timing of the subsequent commutation steps and will affect the ability of the speed control circuitry to maintain the rotation of the discs at a constant speed.
Further, before data may be stored on a particular sector in a data track, the transducer head must first locate the correct data track and detect the boundary of the correct sector as it passes under the transducer head, so the variations in the operating speed of the discs typically requires the use of larger timing windows to detect the proper sector boundary than would be necessary if the motor were running at near zero speed variation.
A problem in many prior art hard disc drives that use such back emf sensing and commutation timing methods is the use of previous zero crossing periods to determine the timing of subsequent commutation steps. For example, one approach involves the placement of subsequent commutation steps at a point in time beyond the most recent zero crossing by an amount equal to one-half of the time that elapsed between the most recent zero crossing and the next most recent zero crossing, or one-half the previous zero crossing period. Because of the variation associated with the timing of the zero crossings due to manufacturing tolerances in the spindle motor, significant error can exist in the placement of commutation steps based on the previous zero crossing period, causing further motor speed variations.
A related problem in many such prior art hard disc drives follows from the use of zero crossings to indicate the motor speed and position; because of the variations in zero crossings due to manufacturing tolerances within the spindle motor, the motor speed control may provide unnecessary compensation of the motor speed at subsequent commutation steps. For example, if as a result of manufacturing tolerances a zero crossing occurs at a point in time that indicates the motor is running too fast, when in fact the motor is running at the correct speed, the speed control circuitry may unnecessarily cause the motor to slow down by reducing the supplied current. It has been observed that a certain amount of this error can be systematic for each mechanical rotation of the discs in a motor; a motor running through each mechanical revolution may be sped up or slowed down at the same steps based on these manufacturing variations, while maintaining an overall average constant speed.
There is a need, therefore, for an improved disc drive motor control circuit that compensates for systematic variations in disc rotational speed as a result of the effects of motor manufacturing tolerances and provides improved speed control to allow for increases in motor speed and decreases in required timing windows.